package com.gxc.string;

import java.util.*;

/**
 * 给定一个字符串，只包含大写字母，求在包含同一字母的子串中，长度第 k 长的子串的长度，相同字母只取最长的那个子串。
 *
 * 输入描述
 * 第一行有一个子串(1<长度<=100)，只包含大写字母。
 *
 * 输出描述
 * 输出连续出现次数第k多的字母的次数。
 */
public class ContinuousLetterLength {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        int k = scanner.nextInt();
        scanner.close();

        Map<Character, java.lang.Integer> countMap = new HashMap<>();
        Character c = str.charAt(0);
        int count = 1;
        for (int i = 1; i < str.length(); i++) {
            if (str.charAt(i) == c) {
                count++;
            } else {
                int history = countMap.getOrDefault(c, 0);
                if (count > history) countMap.put(str.charAt(i-1), count);
                c = str.charAt(i);
                count = 1;
            }
        }

        List<java.lang.Integer> values = new ArrayList<>(countMap.values());
        Collections.sort(values, Collections.reverseOrder());
        if (k > values.size()) {
            System.out.println(-1);
        } else {
            System.out.println(values.get(k-1));
        }
    }
}
